package com.oceansoft.mobile.econsole.modules.api.service;

import com.oceansoft.mobile.econsole.modules.base.entity.Result;

import java.io.IOException;

/**
 * 短信服务接口
 *
 * @author chenw on 2014/8/25.
 */
public interface ISmsService {

    /**
     * 短信发送接口
     *
     * @param smsType       消息发送类别
     * @param content       消息内容
     * @param telNum        手机号码
     * @param expireSeconds 失效时间
     * @return Result
     */
    public Result createValidateCode(String smsType, String telNum, String content, long expireSeconds) throws IOException;

    Result sendValidateCode(String smsType, String telNum, String content, long expireSeconds) throws IOException;

    /**
     * 从缓存中获取验证码
     *
     * @param smsType 验证码类型
     * @param mobile  手机号码
     * @return
     */
    String getValidateCode(int bizType, String mobile);

    /**
     * 清空验证码
     *
     * @param bizType 验证码类型
     * @param mobile  手机号码
     */
    void clearValidateCode(int bizType, String mobile);

    /**
     * 调用微服务发送短信
     *
     *
     * @param forget
     * @param phone
     * @param verCode
     * @param verCodeKey
     * @return
     */
    Result sendCodeMsg(String phone, String verCode, String verCodeKey, String forget);
}
